7
תגובות

éùøàìé - בעיית עברית

פתח nirbe ,
שלום,
אני בונה מערכת שמושכת קובץ CSV ומכניסה למסד,
נתקלתי בבעיה שמחרוזת נראת כך:
������

אז לאחר שהשתמשתי בפונקציה mb_convert_encoding, ככה:
mb_convert_encoding($string, "UTF-8");

הטקסט שחזר אלי היה נראה כבר יותר טוב: éùøàìé
ומפה אני כבר לא יודע איך להמיר את המחרוזת לעברית..

ואני יודע שזה אפשרי, בגלל השימוש בתיקן באתר הזה:
http://www.pixiesoft.com/flip/

והוא תיקן והגיע למילה.

7 תשובות

avatar ענה nirbe ב 27 ליוני 2013 #

מצטער שכתבתי פה מהר, הייתי לחוץ לסיים ללקוח את המערכת, אבל אחרי הרבה חרישה, הצלחתי למצוא פתרון, הנה הפונקציה:

function fixHeb ($string)
{
    return iconv(mb_detect_encoding($string, mb_detect_order(), true), "UTF-8", $string);
}

avatar ענה mayden ב 27 ליוני 2013 #

זה פורמט של window-1255

avatar ענה nirbe ב 27 ליוני 2013 #

השרת שלי לא תומך בזה, יש אפשרות אחרת להתמודד עם הבעיה הנ"ל?

avatar ענה yakir ב 27 ליוני 2013 #

באיזו שפה הטבלה שלך מקודדת ?

avatar ענה nirbe ב 27 ליוני 2013 #

שלא תתבלבלו, זה קורה עוד לפני שאני מכניס למסד, אין לו שום קשר בנתיים.

avatar ענה OrelBeY ב 27 ליוני 2013 #

הקידוד של קובץ ה-CSV הוא UTF-8? (אם אתה יוצר אותו באמצעות תסריט PHP אחר, פשוט תשלח Header של קידוד, אם עוד לא עשית את זה.)
נ.ב. יכול להיות בכלל שהבעיה היא בדרך שבה הדפדפן מנתח את הטקסט. תוסיף meta charset, אם עוד לא הוספת.
ועוד משהו - מה זאת אומרת "השרת שלי לא תומך בזה"?
ועוד משהו אחרון (:/) - רק עכשיו שמתי לב שבכלל כבר מצאת את התשובה. XD פעם הבאה פשוט תוסיף אותה למטה, אל תערוך תגובה קודמת...

avatar ענה nirbe ב 27 ליוני 2013 #

@OrelBeY, כשאני שומר כ UTF8, האקסל עושה בעיות, בגלל זה אני מנסה למצוא פתרון אחר למצב.
ומצאתי את הפתרון, רק שהשרת הוא 5.3 והפונקציה עובדת לי במחשב שאצלי זה PHP 5.4...

ואני עדיין מחפש פתרון, עוד לא מצאתי.